﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using Newtonsoft.Json.Linq;
using IgrMensageiros.Util;
using BLL;
using MODELO;
using log4net;

namespace IgrMensageiros.Util
{
    static class ConsultarCep
    {
        public static string[] FazerConsulta(string Cep)
        {
            const string cepAPI = "http://cep.correiocontrol.com.br/{0}.json";
 
            WebClient webClient = new WebClient();
 
            string json = String.Empty;
 
            try
            {
                json = webClient.DownloadString(String.Format(cepAPI, Cep));
            }
            catch (Exception e)
            {
                return new string[] {"Erro", e.Message};
            }
 
            if (json.Contains("erro"))
            {
                return new string[] {"Erro", "CEP Inválido ou não cadastrado."};
            }
 
            if (json != String.Empty)
            {
                JObject jObject = JObject.Parse(json);
 
                return new string[] { (string)jObject["bairro"],
                                      (string)jObject["logradouro"], 
                                      (string)jObject["uf"], 
                                      (string)jObject["localidade"] };
            }
            else
            {
                return new string[] {"Erro",
                                     "O servidor se comportou de forma inesperada."};
            }
        }
    }
    }

